package com.scada.inf;

import java.util.List;
import java.util.Map;

import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

import com.scada.model.bean.Role;
import com.scada.model.result.PageInfo;
import com.scada.model.result.ResponseBean;

@WebService
@SOAPBinding(style = Style.RPC)
public interface RoleVisitor {
	
	/** 
	 * @FunctionName: selectByPrimaryKey
	 * @Description: 通过菜单id查找权限
	 * @author: 黄胜
	 * @date: 2016年10月28日 下午3:56:55 
	 * @param map (menuId : 菜单id state : 状态 0 ：显示 1： 删除)
	 * @return Permission
	 */
	public PageInfo<Role> selectDataList(PageInfo<Role> pageInfo);
	
	/** 
	 * @FunctionName: selectAllDataList
	 * @Description: 查询所有未禁用角色
	 * @author: 沈浩
	 * @date: 2016年11月3日 上午10:31:08 
	 * @return key值 roleList List<Role>
	 */
	public ResponseBean selectAllDataList();
	
	/** 
	 * @FunctionName: selectCodeExist
	 * @Description: 查询sysRoleCode是否重复
	 * @author: 沈浩
	 * @date: 2016年11月3日 上午11:52:09 
	 * @param sysRoleCode 编码值
	 * @return key值 exist ture表示有重复 false表示没有重复
	 */
	public ResponseBean selectCodeExist(String sysRoleCode);
	
	/** 
	 * @FunctionName: insert
	 * @Description: 新增role对象
	 * @author: 沈浩
	 * @date: 2016年11月3日 上午11:53:13 
	 * @param role 对象 只需传递 SYS_ROLE_CODE, SYS_ROLE_NAME, CREATE_USER_ID
	 * @return 查看成功与否
	 */
	public ResponseBean insert(Role role);
	
	/** 
	 * @FunctionName: updateByPrimaryKey
	 * @Description: 修改role对象
	 * @author: 沈浩
	 * @date: 2016年11月3日 上午11:56:09 
	 * @param role 对象 只需传递 ID, SYS_ROLE_NAME
	 * @return 查看成功与否
	 */
	public ResponseBean updateByPrimaryKey(Role role);
	
	/** 
	 * @FunctionName: deleteByPrimaryKey
	 * @Description: 禁用多个角色
	 * @author: 沈浩
	 * @date: 2016年11月3日 下午1:08:43 
	 * @param map ids 多个id 英文逗号分隔
	 * @return 查看成功与否
	 */
	public ResponseBean deleteByPrimaryKey(Map<String, String> map);
	
	/** 
	 * @FunctionName: selectRoleByPrimaryKey
	 * @Description: 通过ID 查找role对象
	 * @author: 沈浩
	 * @date: 2016年11月3日 下午4:38:04 
	 * @param id
	 * @return key值 role对象
	 */
	public ResponseBean selectRoleByPrimaryKey(Integer id);
	
	/** 
	 * @FunctionName: selectRoleByPrimaryKey
	 * @Description: 通过sysRoleCode 查找role对象
	 * @author: 沈浩
	 * @date: 2016年11月3日 下午4:38:04 
	 * @param id
	 * @return key值 role对象
	 */
	public ResponseBean selectRoleByCode(String sysRoleCode);
	
	
	/**
	 * 
	 * @Title: getAllRolesName 
	 * @Description: 查询当前用户所用角色名
	 * @param userId 用户ID
	 * @return
	 * @return: List<Role>
	 * @author: yangyuan 
	 * @date: 2017年3月24日 下午3:13:36
	 */
	public List<Role> getAllRolesName(Integer userId);

}
